﻿/********
This work is an RTSP/RTP server in C# Net.Core by Jean-Marie Boiry <jean-marie.boiry@live.fr> 
It was written porting a subset of the  http://www.live555.com/liveMedia/ library
so the following copyright that apply to this software
**/
/**********
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version. (See <http://www.gnu.org/copyleft/lesser.html>.)

This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
more details.

You should have received a copy of the GNU Lesser General Public License
along with this library; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
**********/
// "liveMedia"
// Copyright (c) 1996-2019 Live Networks, Inc.  All rights reserved.

using System.Collections.Generic;
using System.Linq;
using RTPStreamer.Core;


namespace RTPStreamer.Media
{
	public class ServerMediaSession
	{
		private string _info;
		private string _description;
		List<ServerMediaSubsession> _subSessions = new List<ServerMediaSubsession>();

		public ServerMediaSession(string stream, string info, string description)
		{
			Name = stream;
			_info = info;
			_description = description;
		}

		public string Name { get; set; }

		public void AddSubsession(ServerMediaSubsession subsession)
		{
			if (_subSessions.Where(c => subsession.Name == c.Name).FirstOrDefault() == null )
				_subSessions.Add(subsession);
		}

		
		internal ServerMediaSubsession LookupSubSession(string stream)
		{
			stream = stream.ToLower();
			return _subSessions.Where(c => c.Name == stream).FirstOrDefault();
		}
	}
}
